home *** CD-ROM | disk | FTP | other *** search
/ Scena PL EXE / scenapl-1995-exe.iso / torba szopy / inne / bbsguard / bbsguard.doc < prev    next >
Text File  |  1995-10-19  |  13KB  |  284 lines

  1. This program is NOT public domain. This program is copyright.
  2. You may distribute the program freely so long as there is no
  3. charges for the program. Anything above the cost of the media
  4. which it is copied onto or the normal user fee of a bulletin
  5. board system is not allowed. This documentation must accompany
  6. the executable program. No commercial use of this program is
  7. allowed without prior written agreement from the author (me).
  8. (You can supply it with your BBS software. Just don't use it
  9. as a selling point and make sure this file is included with
  10. the program.)
  11.                                      October 1992 © Darrell Grainger
  12.  
  13.  
  14. BBSGuard v2.03 © Oct 1992 - Darrell Grainger
  15. -------------------------------------------
  16.  
  17. This program was originally written in SAS/C but as a way of learning
  18. 68000 assembler, I have re-written the program in assembler.
  19.  
  20. Usage: BBSGuard [-b##][-c##][-d##][-g][-l][-n][-r##][-s##][-t##][-v]
  21.  
  22. Note: -  don't put a space between the option and any numbers.
  23.          for example: '-b10' is correct. '-b 10' is wrong.
  24.       -  make sure there is a space between the options. for
  25.          example: 'BBSGuard -b10-l' is wrong. 'BBSGuard -b10 -l'
  26.          is correct.
  27.  
  28. Default: BBSGuard -b10 -c30 -d0 -r5 -s10800 -t10
  29.  
  30. --------------------------------------------------------------------
  31.  
  32. If you like and use this program and would like to receive future
  33. updates, please send a donation to:
  34.  
  35.                   D.A.Grainger
  36.                   48 Wheeler Ave.
  37.                   Toronto, ON
  38.                   M4L 3V2
  39.                   Canada
  40.  
  41. A donation of $5 cheque or money order would be appropriate.
  42.  
  43. Suggestions for the program can also be sent to the same address or
  44. log onto Chaotic Knights BBS at (416) 272-1860.
  45.  
  46. --------------------------------------------------------------------
  47.  
  48. Option   What it does
  49. ------   ------------
  50.  
  51. -b       When the phone rings I keep a count of the number of rings.
  52.          If I just kept track of the rings it would add up the rings
  53.          of the first caller, and the second, and third, etc. until
  54.          the count reached the maximum and rebooted the computer. So
  55.          I had to have some way of knowing when the first caller
  56.          stopped then I could reset the ring count. The time between
  57.          rings when someone is calling is usually five seconds. This
  58.          may vary from area to area. If the time is greater than five
  59.          seconds, we know that the first person quit ringing
  60.          (hopefully because the BBS answered the phone). If the time
  61.          is greater than ten seconds then we can be positive that the
  62.          caller has stopped ringing the phone. The default for -b is
  63.          ten. If you find the time between when a ring stops and the
  64.          next one starts, in your area, is greater then ten (or close
  65.          to it) then you might want to increase the -b option.
  66.          Default: -b10
  67.  
  68. -c       When the phone rings too many times or a carrier is present
  69.          too long then I assume the BBS has crashed and attempt to
  70.          reboot the computer. Before I actually reboot I will flash
  71.          all screens on and off. The -c option indicates how long,
  72.          in seconds, that I will flash the screen before rebooting.
  73.          Default: -c30
  74.  
  75. -d       You may want to run BBSGuard right away (if you are using
  76.          the -v, -g and -n options you might want to run BBSGuard at
  77.          the start of your s:Startup-Sequence). If the BBS takes a
  78.          while to get ready and answer the phone you DON'T want
  79.          BBSGuard monitoring the phone for unanswered rings. This
  80.          option will delay BBSGuard, in seconds, from checking the
  81.          ringing or carrier. Default: -d0
  82.          
  83. -g       If an Guru Meditation occurs the computer usually sits at
  84.          the flashing Alert message. Using the -g option will stop
  85.          the Alert from coming up. Instead the computer will go to
  86.          the warning stage. This is when the screen flashes. At this
  87.          time, you have -c seconds to abort the reboot. If you press
  88.          the left mouse button the system will suspend the task. If
  89.          you do nothing the computer will reboot. Note: I disable
  90.          all Alerts so any program that uses Alert instead of
  91.          Requesters will cause the system to reboot. Alerts are only
  92.          supposed to be used if the system is really messed up or
  93.          low on memory. Programmers that use Alerts as Requesters
  94.          are lazy.
  95.  
  96. -l       Since you don't see BBSGuard after it is written you might
  97.          want to know when the phone is ringing (and that BBSGuard
  98.          is counting it). The -l option will cause BBSGuard to flash
  99.          the LED as the phone rings.
  100.  
  101. -n       If a requester comes up the system might sit at a stand
  102.          still. If you want to automatically CANCEL all requesters
  103.          then set the -n option. If a System Requester comes up this
  104.          will choose CANCEL and it will try to go for the Guru
  105.          Meditation so the -g option is recommended when you use the
  106.          -n option.
  107.  
  108. -r       The option which sets the number of rings that will reboot
  109.          the computer. There is a warning of -c seconds before the
  110.          reboot. A setting of -r0 will disable check for ringing.
  111.          Default: -r5
  112.  
  113. -s       The option which sets the number of seconds of carrier
  114.          detect. If the carrier lasts WAY too long then it could be
  115.          possible that the modem crashed or that someone got stuck
  116.          in a 'door' of the BBS. Remember to set this higher then
  117.          the maximum user time. If your CoSysop has unlimited time
  118.          then you might want to disable this with a setting of -s0.
  119.          Default: -s10800 (3 hours)
  120.  
  121. -t       This sets the time a requesters will remain up before the
  122.          -n option automatically cancels the requester. This gives
  123.          you a chance to choose something other then cancel in case
  124.          you are there and don't want it to cancel.
  125.  
  126. -v       If this option is set then BBSGuard will check all mounted
  127.          volumes. If any are validating then BBSGuard will pause
  128.          until the volume has finished validating. If you want to
  129.          abort this part then hold the left mouse button down.
  130.  
  131. Notes: - You can quit BBSGuard by running it a second time. The
  132.          screen will flash once when BBSGuard quits. Be sure the
  133.          screen flashes. If the phone is ringing BBSGuard might
  134.          not quit just keep trying.
  135.          
  136.        - If the maximum carrier detect time or the maximum number of
  137.          rings is reached BBSGuard will go into the warning phase.
  138.          If -c is set to zero then the computer will reboot
  139.          immediately otherwise all screens will flash as the timer
  140.          counts down.
  141.          
  142.        - the A1000 does not have the RI pin connected. On the A1000
  143.          this status bit is for the printer SELect only. On the A500
  144.          A2000/A3000 the status bit is used by printer SELect and
  145.          modem Ring Indicator. Adding the circuitry to connect the
  146.          serial port RI pin to the CIA so we can read RI status is
  147.          fairly simply. Write me if you want the instructions to
  148.          make your A1000 work like the A2000 serial port.
  149.          
  150.        - the RI line of the serial port is connected to the SEL line
  151.          of the parallel port. Selecting and deselecting the printer
  152.          will seem like the phone is ringing to this program.
  153.  
  154.        - If you are using ParNet then the handshaking of ParNet uses
  155.          the SEL line. This means that BBSGuard will see a change in
  156.          the RI line and think the phone is ringing. As it checks to
  157.          see if the phone is actually ringing it will eatup CPU time
  158.          and slow everything down. For this reason, if you are using
  159.          ParNet and BBSGuard you should use the -r0 option and not
  160.          bother checking for ringing.
  161.  
  162. ---------------------------------------------------------------------
  163. HISTORY
  164.  
  165. A friend needed a program what would monitor the carrier detect
  166. line. If there was a carrier detect this program would then monitor
  167. the line and time how long the carrier was detected for. By default
  168. the program would reboot the computer after 11600 seconds (3 hours).
  169.  
  170.  version 2.03 improvements
  171.  -------------------------
  172.  - fixed a bug with AmigaDOS 1.3 and the -n option.
  173.  
  174.  version 2.02 improvements
  175.  -------------------------
  176.  - The -t option was added so you have a chance to choose something
  177.    other than CANCEL when a requester comes up.
  178.  
  179.  version 2.01 improvements
  180.  -------------------------
  181.  - The -n option now works with AmigaDOS 2.0. I was originally
  182.    programming in AmigaDOS 1.3 and failed to implement 2.0 cancel
  183.    requesters.
  184.  
  185.  - There is no longer a window that opens on the Workbench. To see
  186.    if the phone is ringing I have added the -l option.
  187.  
  188.  - I use the Wait() functions and an interrupt handler to make the
  189.    program go to sleep until something happens, i.e. ring, carrier
  190.    detect, guru, etc.
  191.  
  192.  - The -v option is new to version 2.01.
  193.  
  194.  - The program opens no window. Takes less memory and can be quit
  195.    from remote.
  196.  
  197.  - No need for -a, -p, or -t options. No long have a window to
  198.    activate (-a). Have improved the timing routines is no longer
  199.    need -p. Have learned how to make the program go into 'Waiting'
  200.    so delays between carrier checks are not necessary.
  201.  
  202.  version 1.25 improvements
  203.  -------------------------
  204.  - If a system Requester occurs the system will sometimes not reboot
  205.    on the failure to answer (ring detect). The -n option will
  206.    disable all of the requesters so even the System Requester will
  207.    CANCEL (this causes a Guru Meditation so the -g option is
  208.    recommended with this).
  209.  
  210.  version 1.24 improvements
  211.  -------------------------
  212.  - added routines to disable Guru Meditations. If a Guru Meditation
  213.    occurs and the -g option was enabled, the system will
  214.    automatically reboot rather then sit at the flashing red Guru
  215.    Meditation.
  216.  
  217.  version 1.23 improvements
  218.  -------------------------
  219.  - added a self reboot feature. The program will no longer generates
  220.    a requester that causes "Reboot1.1" to reboot the computer. This
  221.    makes BBSGuard standalone.
  222.  
  223.  - added the -C option so you can have an abort before the thing
  224.    reboots. When the program is about to reboot the title to the
  225.    window will change to the "Double click here to abort". -C will
  226.    determine how long you have to abort the reboot. Default is 30
  227.    seconds. During the abort/reboot period all screens will flash
  228.    until you abort or the computer reboots. Pressing the left mouse
  229.    button from ANYWHERE will abort the reboot. During ring detect
  230.    the abort simply sets the ring count back to zero. During the
  231.    carrier detect the abort resets the counter of carrier detect
  232.    seconds back to -S## seconds left.
  233.  
  234.  version 1.22 improvements
  235.  -------------------------
  236.  - made the check for time between rings programmable. If the delay
  237.    between rings is too long we should assume this is a new caller
  238.    and reset the count of how many rings. Default = 10 seconds. If
  239.    the time from start of last ring to start of next ring is greater
  240.    then 10 seconds the ring count will reset. This is the -B option.
  241.  
  242.  version 1.21 improvements
  243.  -------------------------
  244.  - found there was a timing problem during the ring detect on some
  245.    phone lines so I made the delay time between ring checks
  246.    programmable. This is option P. Default = 75 (75/50 = 1.5
  247.    seconds). This default is new and should work on all phone lines.
  248.    Some phone lines will allow you to increase the delay. Try setting
  249.    the delay to 100, run the program, make the phone ring and see if
  250.    it misses any of the rings.
  251.  - While I was at it I made the delay between checking for carrier
  252.    programmable as well. The bigger this number the less slow down
  253.    for the user online BUT the long the delay should you wish to
  254.    quit the program.
  255.  
  256.  version 1.2 improvements
  257.  ------------------------
  258.  - added a delay option so they program can be made to wait for the
  259.    BBS to power up and initialize.
  260.  - added the -r0 option so the program can disable ring detect. No
  261.    use in wasting CPU time checking for a ring that will not be
  262.    there.
  263.  - reset the ring counter if there is a 10 second pause between
  264.    rings. I found that the phone rings every 7 to 8 seconds so if
  265.    there is a ten second pause it must be a new caller. This means
  266.    that ONE caller must let the phone ring -R times (default = 5).
  267.    Don't set that too high or this option is pointless.
  268.  
  269.  version 1.1 improvements
  270.  ------------------------
  271.  - optimized code to waste less time when checking for a ring.
  272.    Program now goes to sleep for 2 seconds every loop of the ring
  273.    detect routine. A ringing phone lasts for just over 2 seconds. If
  274.    the delay is longer then 2 seconds there is a good chance the
  275.    program will miss some rings. With a 2 second delay I have only
  276.    noted it missing the first ring and then only when the first ring
  277.    is a partial ring (less then 2 seconds).
  278.  
  279.  version 1.01 improvements
  280.  -------------------------
  281.  - added a check for the phone ringing and the BBS not answering. If
  282.    the phone rings unanswered for too long then obviously the BBS
  283.    has crashed.
  284.